package com.foxzzz.temporary;
/*
给出两个 非空 的链表用来表示两个非负的整数。其中，它们各自的位数是按照 逆序 的方式存储的，并且它们的每个节点只能存储 一位 数字。

如果，我们将这两个数相加起来，则会返回一个新的链表来表示它们的和。

您可以假设除了数字 0 之外，这两个数都不会以 0 开头。
示例：

输入：(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出：7 -> 0 -> 8
原因：342 + 465 = 807
 */
public class Solution2 {
    public class ListNode {
        int val;
        ListNode next;
        ListNode(int x) {
            val = x;
        }
    }
    private void test(){
        ListNode listNode=new ListNode(1);
        ListNode temp=listNode;
        for (int i = 0; i < 9; i++) {
            listNode.next=new ListNode(9);
            listNode=listNode.next;
        }
        ListNode listNode1=new ListNode(9);
        addTwoNumbers(listNode,temp);
    }

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode listNode=null;
        ListNode ret=null;
        int flag=0;
        while (l1!=null||l2!=null||flag!=0){
            int val1=l1==null?0:l1.val;
            int val2=l2==null?0:l2.val;
            if(l1!=null)
              l1=l1.next;
            if(l2!=null)
                l2=l2.next;

            int val=val1+val2+flag;
            if(listNode==null)
            { listNode=new ListNode(val%10);
              ret=listNode;
            }
            else {
                listNode.next = new ListNode(val % 10);
                listNode=listNode.next;
            }


            if(flag==1)
                flag=0;
            if(val>9)
                flag=1;

        }

        return ret;
    }


    public static void main(String[] args) {

        System.out.println(0.0d==0);
    }

}
